<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>函数与方法中this指向不一致的问题</title>
</head>
<body>
    
</body>
<script>
    /*
        什么是函数，什么是方法
            一般全局定义的function称作是函数 方法一般是在类或者对象中属性是function类型的成为方法
                那么他们之中的this有什么不同呢？
    */
    function getthis(){
        console.log(this)  //Window {parent: Window, opener: null, top: Window, length: 0, frames: Window, …}
    }
    getthis()
    let obj = {
        name:'jimmy',
        getname(){
            console.log(this)  //{name: "jimmy", getname: ƒ}
            console.log(this.name)   //jimmy
        },
        show(){
            function getyou(){
                console.log(this)  //Window {parent: Window, opener: null, top: Window, length: 0, frames: Window, …}
            }
            getyou()
        }
    }
    obj.getname()
    obj.show()
    /*
        由以上例子可以看出  函数和方法的this指向是不一样的  我们可以初略的理解成在对象，或者类的属性是function的时候 它的this指向的就是那个类或者方法  方法里面的function也是被称作函数 因为方法他本身并不是对象或者类
            函数的this指向的是window对象  而方法的this指向的是那个对象或者类
    */
</script>
</html>